class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int i=0,j=0;
        int ans=0;
        unordered_set<char> st;
        while(j<s.size()){
            while(j<s.size()&&!st.count(s[j])){
                st.insert(s[j]);
                j++;
            }
            ans=max(ans,j-i);
            st.erase(s[i]);
            i++;
        }
        return ans;
    }
};